# -*- coding: utf-8 -*-
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *


class QCOM(QWidget):
    def __init__(self, parent=None):
        super(QCOM, self).__init__(parent)

        self.setWindowTitle("QCOM 例子")
        self.resize(300, 300)

        layout = QVBoxLayout()
        # 创建标签，默认空
        self.lbl = QLabel("")

        self.qc = QComboBox()
        # 单个添加条目
        self.qc.addItem("C")
        self.qc.addItem("Python")
        # 多个添加条目
        self.qc.addItems(["Java", "Go", "C#"])
        # 当下拉索引发生改变时发射信号触发绑定的事件
        self.qc.currentIndexChanged.connect(self.select)
        # 控件添加到布局中，设置布局
        layout.addWidget(self.qc)
        layout.addWidget(self.lbl)
        self.setLayout(layout)

    def select(self, i):
        # currentText()：返回选中选项的文本
        self.lbl.setText(self.qc.currentText())
        print('Items in the list are:')
        # 输出选项集合中每个选项的索引与对应的内容
        # count()：返回选项集合中的数目
        for count in range(self.qc.count()):
            print('Item' + str(count) + '=' + self.qc.itemText(count))
            print('current index', i, 'selection changed', self.qc.currentText())


if __name__ == '__main__':
    app = QApplication(sys.argv)
    qcom = QCOM()
    qcom.show()
    sys.exit(app.exec_())
